package com.tony.mindwarning.mpper;

import com.tony.mindwarning.pojo.Product;
import com.tony.mindwarning.pojo.ProductInfo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 *
 * @Title: ProductMapper
 * @Auther: 皮蛋布丁
 * @Date: 2021/04/09/9:53
 * @Description:
 */
@Mapper
public interface ProductMapper {

    /**
    * @Description: addProduct 添加商品
    * @Param: [product]
    * @return: int
    * @Author: 皮蛋布丁
    */
    int addProduct(Product product,int userId);

    /**
    * @Description: totalCount 查询商品总数
    * @Param: []
    * @return: int
    * @Author: 皮蛋布丁
    */
    int totalCount();

    /**
    * @Description: getProductByPage 联表查询带类别的商品信息
    * @Param: [map]
    * @return: java.util.List<com.tony.mindwarning.pojo.Product>
    * @Author: 皮蛋布丁
    */
    List<Product> getProductByPage(Map<String,Object> map);

    /**
    * @Description: findById 通过id联表查询带类别的商品信息
    * @Param: [pid]
    * @return: com.tony.mindwarning.pojo.Product
    * @Author: 皮蛋布丁
    */
    Product findById(Integer pid);

    /**
    * @Description: updateProduct 更新商品信息
    * @Param: [product]
    * @return: int
    * @Author: 皮蛋布丁
    */
    int updateProduct(Product product,int userId);

    /**
    * @Description: deleteProduct 删除商品信息
    * @Param: [pid]
    * @return: int
    * @Author: 皮蛋布丁
    */
    int deleteProduct(int pid,int userId);

    /**
    * @Description: getProductInfos 获取商品类别统计数目
    * @Param: []
    * @return: java.util.List<com.tony.mindwarning.pojo.ProductInfo>
    * @Author: 皮蛋布丁
    */
    List<ProductInfo> getProductInfos();

    /**
    * @Description: updateProductCount 更新商品库存
    * @Param: [product]
    * @return: int
    * @Author: 皮蛋布丁
    */
    int updateProductCount(Product product,int userId);

    /**
    * @Description: productsByTid 根据分类ID查询商品的集合
    * @Param: [tid]
    * @return: java.util.List<com.tony.mindwarning.pojo.Product>
    * @Author: 皮蛋布丁
    */
    List<Product> productsByTid(Integer tid);
}
